import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// 注册UI库
import { TroisJSVuePlugin } from 'troisjs'

// 使用vue3 UI 库
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

// 引入拦截器
import '@/util/axios.config'

const app = createApp(App)
app.use(TroisJSVuePlugin)
app.use(ElementPlus)
app.use(store)
app.use(router)

// 注册全局自定义指令v-admin
app.directive('admin', {
  mounted(el) {
    // 判断当前用户是否为管理员
    if (store.state.userInfo.role !== 1) {
      // 不是管理员则移除该元素
      el.parentNode.removeChild(el)
    }
  }
})

// 注册全局自定义指令v-editor
app.directive('editor', {
  mounted(el) {
    // 判断当前用户是否为管理员或编辑
    if (store.state.userInfo.role !== 1 && store.state.userInfo.role !== 2) {
      // 不是管理员或编辑则移除该元素
      el.parentNode.removeChild(el)
    }
  }
})

app.mount('#app')